package rawwrs.action;

import java.util.List;

import rawwrs.bean.ObservacionDTO;
import rawwrs.bean.PropiedadDTO;
import rawwrs.bean.ProyectoDTO;
import rawwrs.bean.UsuarioDTO;
import rawwrs.dao.jpa.ObservacionJPADAO;
import rawwrs.dao.jpa.PropiedadJPADAO;
import rawwrs.dao.jpa.ProyectoJPADAO;
import rawwrs.dao.jpa.UsuarioJPADAO;

import com.opensymphony.xwork2.ActionSupport;




public class AdministradorAction extends ActionSupport {
	

	
	UsuarioJPADAO    servicio_usuario = new UsuarioJPADAO();
	PropiedadJPADAO  servicio_propiedades = new PropiedadJPADAO();
	ObservacionJPADAO servicio_observacion = new ObservacionJPADAO();
	ProyectoJPADAO servicio_proyectos = new ProyectoJPADAO();
	private String id;
	private String descripcion;
	

	private List<UsuarioDTO> lista_usuarios;
	private List<PropiedadDTO> lista_propiedades;
	private List<ProyectoDTO> lista_proyectos;

	
	public String lista_usuarios(){		
		lista_usuarios =servicio_usuario.obtenerTodos();			
		return SUCCESS;		
	}
	
	public String lista_propiedades(){		
		lista_propiedades =servicio_propiedades.obtenerPropiedades();			
		return SUCCESS;		
	}
	
	public String lista_proyectos(){		
		lista_proyectos =servicio_proyectos.obtenerProyectos();			
		return SUCCESS;		
	}
	
	public String desactivar_usuario(){		
		System.out.println("id: "+id);
		UsuarioDTO  usuario= new UsuarioDTO();
		usuario.setId(Integer.parseInt(id));
		
		
		ObservacionDTO observacion = new ObservacionDTO();
		observacion.setCodigo(id);
		System.out.println(descripcion);
	
		observacion.setDescripcion(descripcion);
		
		
		try {
			servicio_usuario.dar_de_baja(usuario);
			servicio_observacion.insertar(observacion);
			servicio_propiedades.dar_de_baja_por_usuario(usuario.getId());
			lista_usuarios =servicio_usuario.obtenerTodos();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		return SUCCESS;		
	}
	
	public String desactivar_propiedad(){		
		System.out.println("id: "+id);
		PropiedadDTO  propiedad= new PropiedadDTO();
		propiedad.setId(Integer.parseInt(id));
		
		
		ObservacionDTO observacion = new ObservacionDTO();
		observacion.setCodigo(id);
		System.out.println(descripcion);
	
		observacion.setDescripcion(descripcion);
		
		
		try {
			servicio_observacion.insertar(observacion);
			servicio_propiedades.dar_de_baja(propiedad.getId());
			lista_propiedades =servicio_propiedades.listarPropiedades();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		return SUCCESS;		
	}
	
	public String desactivar_proyecto(){		
		System.out.println("id: "+id);
		ProyectoDTO  proyecto= new ProyectoDTO();
		proyecto.setId(Integer.parseInt(id));
		
		
		ObservacionDTO observacion = new ObservacionDTO();
		observacion.setCodigo(id);
		System.out.println(descripcion);
	
		observacion.setDescripcion(descripcion);
		
		
		try {
			servicio_observacion.insertar(observacion);
			servicio_proyectos.dar_de_baja(proyecto.getId());
			lista_proyectos =servicio_proyectos.listarProyectos();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		return SUCCESS;		
	}
	
	public List<UsuarioDTO> getLista_usuarios() {
		return lista_usuarios;
	}
	public void setLista_usuarios(List<UsuarioDTO> listaUsuarios) {
		lista_usuarios = listaUsuarios;
	}
	
	
	public List<PropiedadDTO> getLista_propiedades() {
		return lista_propiedades;
	}

	public void setLista_propiedades(List<PropiedadDTO> lista_propiedades) {
		this.lista_propiedades = lista_propiedades;
	}

	
	public List<ProyectoDTO> getLista_proyectos() {
		return lista_proyectos;
	}

	public void setLista_proyectos(List<ProyectoDTO> lista_proyectos) {
		this.lista_proyectos = lista_proyectos;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	
}





    
    


